#include <stdio.h>

int main()
{
    // 整数字面量
    int decimal = 123;                 // 十进制
    int octal = 017;                   // 八进制，等价于十进制的15
    int hexadecimal = 0x1A;            // 十六进制，等价于十进制的26
    unsigned int unsignedInt = 123u;   // 无符号整数
    long int longInt = 123L;           // 长整数，L是字面量修饰符
    long long int longLongInt = 123LL; // 长长整数

    printf("Decimal: %d\n", decimal);
    printf("Octal: %d\n", octal);
    printf("Hexadecimal: %d\n", hexadecimal);
    printf("Unsigned int: %u\n", unsignedInt);
    printf("Long int: %ld\n", longInt);
    printf("Long long int: %lld\n", longLongInt);

    // 浮点数字面量
    double pi = 3.14159;        // 默认是double类型
    float fPi = 3.14159f;       // 明确指定为float类型
    long double lPi = 3.14159L; // 明确指定为long double类型

    printf("Double pi: %f\n", pi);
    printf("Float pi: %f\n", fPi);
    printf("Long double pi: %Lf\n", lPi);

    return 0;
}